Task scheduler for periodically calling a set of functions. More...
Namespaces | |
kanzi | |
Typedefs | |
typedef kzsError(* | KzuTaskFunction) (kzUint deltaTime, void *userData, kzBool *out_done) |
Scheduled task function. More... | |
Functions | |
KANZI_API kzsError | kzuTaskSchedulerCreate (const struct KzcMemoryManager *memoryManager, struct KzuTaskScheduler **out_taskScheduler) |
Create a new task scheduler. More... | |
KANZI_API kzsError | kzuTaskSchedulerDelete (struct KzuTaskScheduler *taskScheduler) |
Delete a task scheduler. More... | |
KANZI_API kzsError | kzuTaskSchedulerAddRecurringTask (const struct KzuTaskScheduler *taskScheduler, KzuTaskFunction taskFunction, void *userParameters) |
Add a recurring task to the task scheduler. More... | |
KANZI_API kzsError | kzuTaskSchedulerRemoveTask (const struct KzuTaskScheduler *taskScheduler, KzuTaskFunction taskFunction, const void *userParameters) |
Remove a task from the task scheduler. More... | |
kzsError | kzuTaskSchedulerExecuteAllTasks (struct KzuTaskScheduler *taskScheduler, kzUint deltaTime, kanzi::Node *rootNode) |
Execute all tasks in the task scheduler. More... | |
size_t | kzuTaskSchedulerGetRecurringTaskCount (const struct KzuTaskScheduler *taskScheduler) |
Get the number of recurring tasks in the task scheduler. More... | |
Task scheduler for periodically calling a set of functions.
When the application framework is used, Kanzi will automatically create a task scheduler accessible with ::kzaApplicationGetTaskScheduler(). That is used for e.g. playing animations.
Copyright 2008-2017 by Rightware. All rights reserved.
Scheduled task function.
deltaTime | Elapsed time in milliseconds. |
userData | Arbitrary pointer previously passed to kzuTaskSchedulerAddRecurringTask(). |
out_done | Set this to KZ_TRUE to remove the task from the scheduler or KZ_FALSE to keep the the task in execution. |
KANZI_API kzsError kzuTaskSchedulerCreate | ( | const struct KzcMemoryManager * | memoryManager, |
struct KzuTaskScheduler ** | out_taskScheduler | ||
) |
Create a new task scheduler.
KANZI_API kzsError kzuTaskSchedulerDelete | ( | struct KzuTaskScheduler * | taskScheduler | ) |
Delete a task scheduler.
KANZI_API kzsError kzuTaskSchedulerAddRecurringTask | ( | const struct KzuTaskScheduler * | taskScheduler, |
KzuTaskFunction | taskFunction, | ||
void * | userParameters | ||
) |
Add a recurring task to the task scheduler.
taskScheduler | The task scheduler to use. |
taskFunction | The function to call periodically. |
userParameters | Arbitrary pointer that will be passed to the task function. |
KANZI_API kzsError kzuTaskSchedulerRemoveTask | ( | const struct KzuTaskScheduler * | taskScheduler, |
KzuTaskFunction | taskFunction, | ||
const void * | userParameters | ||
) |
Remove a task from the task scheduler.
taskScheduler | The task scheduler to use. |
taskFunction | The function to remove from execution. |
userParameters | The pointer that was specified when the task was added to the task scheduler. |
kzsError kzuTaskSchedulerExecuteAllTasks | ( | struct KzuTaskScheduler * | taskScheduler, |
kzUint | deltaTime, | ||
kanzi::Node * | rootNode | ||
) |
Execute all tasks in the task scheduler.
taskScheduler | The task scheduler to use. |
deltaTime | Usually this should be milliseconds elapsed since the last execution, but other values can also be used to e.g. control animations. |
rootNode | The root node of the scheduler. Normally this should be the ::KzuScreen of the application. This is used to disable animations that are attached to nodes under other root nodes, such as nodes which do not belong to any scene. |
size_t kzuTaskSchedulerGetRecurringTaskCount | ( | const struct KzuTaskScheduler * | taskScheduler | ) |
Get the number of recurring tasks in the task scheduler.
taskScheduler | The task scheduler to use. |